Skip to content

Reconcile main with master and protect live CSS - #52

Open
Coding-Dev-Tools wants to merge 41 commits into
masterfrom
main
Open

Coding-Dev-Tools wants to merge 41 commits into
masterfrom
main

Conversation

@Coding-Dev-Tools

@Coding-Dev-Tools Coding-Dev-Tools commented Oct 13, 2026 •

Copy link
Copy Markdown
Owner

Protect live CSS while distinguishing erased TypeScript declarations from runtime usage. CSS-module references remain visible through raw JSX attributes, nested expressions, Unicode and generic components, and code following closing elements. Complete named-default import lists now retain runtime bindings through trailing commas, other specifiers, quoted export names and legal comment gaps; type-only imports and noncode keep their existing boundaries.

CSS findings now describe complete rule boundaries. Split selector headers, multiline bodies and incomplete rules remain available for manual inspection, while complete one-line rules retain safe automatic removal. Existing stylesheet ownership, shared-rule protection, computed-value uncertainty, bounded JSX work, reconciled branch history and package policy remain covered.

All three PRs (#51, #52, #53) carry ba55f44ff7259b995cfd2bf85f7f3eb3262eb3ad (tree 4382cf55bfd1797d44a7000d0edf7f3036536317).

Validation on this exact revision:

  • Local Linux Python 3.10–3.13: 717 passed on each version, zero failures, errors or skips. All 660 predecessor cases remain, with 57 additive scanner/removal regressions. Observed statement coverage is 92%.
  • Ruff, formatting, offline lock/dependency checks, one wheel/source build, Twine, private offline installation and installed CLI scan/dry-run/removal controls pass.
  • Independent scanner/removal families pass, including runtime Node controls. Separate pinned TypeScript 5.9.3 comparisons pass for 232 preserve-mode cases and 21 react-jsx cases; these are bounded syntax/emission checks, with overlapping corpora.

The two findings from the preceding revision have been fixed and their threads resolved after publication. Current hosted checks and automated review are being refreshed. Independent protected-branch approval remains required for merging into master. Native Windows/macOS acceptance remains separate from this fresh Linux qualification.

Coding-Dev-Tools and others added 19 commits May 16, 2026 20:28
…aceful import fallback

- Remove revenueholdings-license>=0.1.0 from required dependencies
- Add license optional-dependencies group with revenueholdings-license
- Make require_license() import conditional: try/except ImportError
- On ImportError, define no-op require_license() and print warning
- Fixes CI breakage caused by revenueholdings-license not on PyPI (COM-79, COM-82, COM-83)
# Conflicts:
#	pyproject.toml
#	src/deadcode/cli.py
docs: add AGENTS.md
…s Revenue Holdings / stale 2026 year); W-directed fleet-wide pass
…ssors

Detect and treat `styles.card` / `styles['card-hover']` (the canonical
Next.js/React CSS-module consumption pattern) as used classes. Previously
every *.module.css class was reported as orphaned and marked removable=True,
which could delete live styles. Bracket accessors are recognized and
non-module object access (util.foo) is not over-matched.

Adds TestCSSModuleUsage regression tests; all 116 tests pass, ruff clean.

Co-Authored-By: cowork-bot <cowork-bot@users.noreply.github.com>
The previous SHA 34e1148 was a v6-era PR commit, not the v4 tag.
GitHub Actions could not resolve it, causing zero-step CI failures.
The correct v4 tag SHA is 11d5960a326750d5838078e36cf38b85af677262.
Validated local candidate: 57daaacaffc6dfed6cfc4458edc6e2e889c138c1

- 57daaacaffc6dfed6cfc4458edc6e2e889c138c1 fix(scanner): preserve module styles and enforce project boundary
Validated local candidate: 33b48f9efde1ecd6207aea0fca07cd6b4560bb2e

- 33b48f9efde1ecd6207aea0fca07cd6b4560bb2e fix(cli): validate remove target and organize imports
@github-actions

Copy link
Copy Markdown

Automated Code Review

Ruff lint: 0 issue(s)

Ruff format: Clean

Secret detection: 0 potential secret(s)

Verdict: PASS

Automated by Coding-Dev-Tools/.github reusable workflow.

@Coding-Dev-Tools
Coding-Dev-Tools marked this pull request as ready for review October 17, 2026 13:00
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 17, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-18T23:43:10.053381Z ba55f44 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: bd6773499f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/deadcode/scanner.py Outdated
@Coding-Dev-Tools Coding-Dev-Tools changed the title Preserve main branch updates for review against master Reconcile main with master and retain the reviewed scanner Oct 18, 2026
Collect class evidence from a conservative runtime view while preserving contextual value syntax, template expressions and stylesheet import scope. Keep raw symbol analysis intact and cover both original review findings plus independent release-blocking boundary controls. Align the existing Python 3.10 dev tomli dependency with the lock metadata without changing package versions or artifacts.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6ce8439091

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/deadcode/scanner.py
Read class property and assignment targets through code tokens, retaining literal values and conservative dynamic or compound writes without interpreting comparisons or JSX attributes as assignments. Keep closing JSX tags, fragments and generic self-closing delimiters from swallowing later module references as regex bodies. Add94 source and actual-removal controls while preserving all473 prior cases.
@Coding-Dev-Tools Coding-Dev-Tools changed the title Reconcile main with master and retain the reviewed scanner Reconcile main with master and protect live CSS Oct 18, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8d0ec1843f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/deadcode/scanner.py Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e722f4bebf

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/deadcode/_typescript.py Outdated
Comment thread src/deadcode/scanner.py Outdated

This branch had an error being deployed

1 failed (outdated) deployment
github-pages — 08a9f3c9 Deployed Oct 17, 2026 by Coding-Dev-Tools via deploy #47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants